package Test16;

import java.util.TreeSet;

public class StudentDemo {
    /*
    父类: 人类(Person)
          属性: 姓名(name),年龄(age)
          行为: 干活(work) – 该行为抽象

    子类: 学生类(Student)
            属性: 学号(id)
            行为: 学习(work) – 重写父类的干活方法
            利用所学的面向对象相关知识,将上述信息通过 java 类定义出来,并创建类:StudentDemo,
        在测试类中完成如下需求:
        1. 创建一个集合,往集合中添加三个学生对象,三位学生对象信息如下:
        heima001,张三,18
        heima002,李四,18
        heima003,王五,17
        2. 对 添加好的数据的集合进行排序,要求按年龄降序,年龄相同时,根据学号升序排列.
        3 . 将排序好的集合进行遍历,输出每个对象的属性值.
     */
    public static void main(String[] args) {
        TreeSet<Student> list = new TreeSet<>((o1, o2) -> {
            int result = o2.getAge() - o1.getAge();
            result = result == 0 ? o1.getSid().compareTo(o2.getSid()) : result;
            return result;
        });
        Student s1 = new Student("heima001", "张三", 18);
        Student s2 = new Student("heima002", "李四", 18);
        Student s3 = new Student("heima003", "王五", 17);

        list.add(s1);
        list.add(s2);
        list.add(s3);

        for (Student s : list) {
            System.out.println(s);
        }
    }
}
